Erhalten Sie org.hibernate.sql.ast.produce.ConversionException beim Ausführen des ProgrammsJava

Java-Forum
Guest
 Erhalten Sie org.hibernate.sql.ast.produce.ConversionException beim Ausführen des Programms

Post by Guest »

Sehen Sie diesen Fehler beim Ausführen dieses Programms, das die Löschung enthält. Ich habe HQL versucht, die Daten zu holen. Dieses Mal funktioniert es gut. Ich weiß nicht, wo das Problem ist. < /P>

Code: Select all

INFO: HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
Exception in thread "main" org.hibernate.sql.ast.produce.ConversionException: A [url=viewtopic.php?t=11587]problem[/url] occurred in the SQM interpreter : Could not resolve unique-identifier to SqmFrom
at org.hibernate.sql.ast.produce.spi.FromClauseIndex.findResolvedTableGroupByUniqueIdentifier(FromClauseIndex.java:132)
at org.hibernate.sql.ast.produce.spi.FromClauseIndex.resolveTableGroup(FromClauseIndex.java:57)
at org.hibernate.query.sqm.tree.from.SqmFrom.locateMapping(SqmFrom.java:49)
at org.hibernate.sql.ast.produce.spi.FromClauseIndex.findResolvedTableGroup(FromClauseIndex.java:110)
at org.hibernate.query.sqm.consume.spi.BaseSqmToSqlAstConverter.visitEntityIdentifierReference(BaseSqmToSqlAstConverter.java:746)
at org.hibernate.query.sqm.consume.spi.BaseSqmToSqlAstConverter.visitEntityIdentifierReference(BaseSqmToSqlAstConverter.java:213)
at org.hibernate.query.sqm.tree.expression.domain.SqmEntityIdentifierReferenceSimple.accept(SqmEntityIdentifierReferenceSimple.java:51)
at org.hibernate.query.sqm.consume.spi.BaseSqmToSqlAstConverter.visitRelationalPredicate(BaseSqmToSqlAstConverter.java:1774)
at org.hibernate.query.sqm.consume.spi.BaseSqmToSqlAstConverter.visitRelationalPredicate(BaseSqmToSqlAstConverter.java:213)
at org.hibernate.query.sqm.tree.predicate.RelationalSqmPredicate.accept(RelationalSqmPredicate.java:72)
at org.hibernate.sql.ast.produce.sqm.spi.SqmDeleteToSqlAstConverterSimple.visitDeleteStatement(SqmDeleteToSqlAstConverterSimple.java:64)
at org.hibernate.sql.ast.produce.sqm.spi.SqmDeleteToSqlAstConverterSimple.interpret(SqmDeleteToSqlAstConverterSimple.java:31)
at org.hibernate.query.sqm.internal.SimpleDeleteQueryPlan.executeUpdate(SimpleDeleteQueryPlan.java:47)
at org.hibernate.query.sqm.internal.QuerySqmImpl.doExecuteUpdate(QuerySqmImpl.java:367)
at org.hibernate.query.internal.AbstractQuery.executeUpdate(AbstractQuery.java:1404)
at com.ankit.hibn8.App.main(App.java:51)
< /code>
app.java
package com.ankit.hibn8;

import java.util.List;
import java.util.Random;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.query.Query;
import org.hibernate.query.Query;
import com.ankit.hibn8.AlienDO;
public class App {
@SuppressWarnings("deprecation")
public static void main(String[] args) {
Configuration config = new Configuration().configure().addAnnotatedClass(com.ankit.hibn8.AlienDO.class);
SessionFactory sessFactory = config.buildSessionFactory();
Session session = sessFactory.openSession();
Transaction t = session.beginTransaction();
String hql = "delete from AlienDO where alienId = :id";
Query query = session.createQuery(hql);
query.setParameter("id", 381);

int result = query.executeUpdate();
System.out.print(result);
session.flush();

t.commit(); // Commit the transaction
session.close();
sessFactory.close();
}
}
< /code>
aliendo.java:
package com.ankit.hibn8;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="alien_table")
public class AlienDO {
@Id
@Column(name="alien_id")
private int alienId;

@Column(name="alien_name")
private String alienName;

@Column(name="alien_age")
private int alienAge;

public int getAlienId() {
return alienId;
}
public void setAlienId(int alienId) {
this.alienId = alienId;
}
public String getAlienName() {
return alienName;
}
public void setAlienName(String alienName) {
this.alienName = alienName;
}
public int getAlienAge() {
return alienAge;
}
public void setAlienAge(int alienAge) {
this.alienAge = alienAge;
}
@Override
public String toString() {
return "AlienDO [alienId=" + alienId + ", alienName=" + alienName + ", alienAge=" + alienAge + "]";
}
}
< /code>
HiBERNate.cfg.xml:




com.mysql.cj.jdbc.Driver
root
jdbc:mysql://localhost:3306/ankitdatabase
root
org.hibernate.dialect.MySQL8Dialect
true
update


< /code>
pom.xml:

4.0.0

com.ankit
spring-hibn8
0.0.1-SNAPSHOT
jar

hibn8
http://maven.apache.org


UTF-8




junit
junit
3.8.1
test



org.hibernate.orm
hibernate-core
6.0.0.Alpha1



com.mysql
mysql-connector-j
8.0.31




Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post