Java 未知实体异常
我是SpringMCV的新手,我创建了一个SpringMVC、java和hibernate项目。我使用了SpringMVC4版本 现在我正在练习如何在hibernate中建立一对一的关系。除了mvc-dispatcher-servlet.xml和web.xml之外,只有一个配置xml。 它是hibernate.cfg.xml文件 这是我写的两门课Java 未知实体异常,java,spring,hibernate,spring-mvc,hibernate-mapping,Java,Spring,Hibernate,Spring Mvc,Hibernate Mapping,我是SpringMCV的新手,我创建了一个SpringMVC、java和hibernate项目。我使用了SpringMVC4版本 现在我正在练习如何在hibernate中建立一对一的关系。除了mvc-dispatcher-servlet.xml和web.xml之外,只有一个配置xml。 它是hibernate.cfg.xml文件 这是我写的两门课 package lk.ddarz4u.sales.database; import javax.persistence.Entity; i
package lk.ddarz4u.sales.database;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToOne;
@Entity
public class Agency {
@Id
private String agencyId;
private String agencyName;
@OneToOne
private Shipment shipment;
public Shipment getShipment() {
return shipment;
}
public void setShipment(Shipment shipment) {
this.shipment = shipment;
}
public String getAgencyId() {
return agencyId;
}
public void setAgencyId(String agencyId) {
this.agencyId = agencyId;
}
public String getAgencyName() {
return agencyName;
}
public void setAgencyName(String agencyName) {
this.agencyName = agencyName;
}
}
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3307/SalesDelivery</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password"></property>
<property name="hibernate.connection.pool_size">10</property>
<property name="show_sql">true</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.current_session_context_class">thread</property>
<property name="hbm2ddl.auto">update</property>
<mapping class="lk.ddarz4u.sales.database.Agency"></mapping>
<mapping class="lk.ddarz4u.sales.database.Shipment"></mapping>
</session-factory>
</hibernate-configuration>
这是装运舱
package lk.ddarz4u.sales.database;
import javax.persistence.*;
import java.util.Date;
@Entity
public class Shipment {
@Id
private String shipmentId;
private int Quantity;
@Temporal(TemporalType.DATE)
private Date updateDate;
public String getShipmentId() {
return shipmentId;
}
public void setShipmentId(String shipmentId) {
this.shipmentId = shipmentId;
}
public int getQuantity() {
return Quantity;
}
public void setQuantity(int quantity) {
Quantity = quantity;
}
public Date getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Date updateDate) {
this.updateDate = updateDate;
}
}
我为这两个人写了一个测试类
package lk.ddarz4u.sales.database;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import java.util.Date;
public class Test_one_to1 {
public static void main() {
Date date=new Date();
Shipment shipment = new Shipment();
shipment.setQuantity(45);
shipment.setShipmentId("s1");
shipment.setUpdateDate(date);
Agency agency = new Agency();
agency.setAgencyId("A1");
agency.setAgencyName("Colombo");
agency.setShipment(shipment);
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();
session.beginTransaction();
session.saveOrUpdate(agency);
session.saveOrUpdate(shipment);
session.getTransaction().commit();
session.close();
}
}
这里是我编写的hibernate.cfg.xml文件
package lk.ddarz4u.sales.database;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToOne;
@Entity
public class Agency {
@Id
private String agencyId;
private String agencyName;
@OneToOne
private Shipment shipment;
public Shipment getShipment() {
return shipment;
}
public void setShipment(Shipment shipment) {
this.shipment = shipment;
}
public String getAgencyId() {
return agencyId;
}
public void setAgencyId(String agencyId) {
this.agencyId = agencyId;
}
public String getAgencyName() {
return agencyName;
}
public void setAgencyName(String agencyName) {
this.agencyName = agencyName;
}
}
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3307/SalesDelivery</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password"></property>
<property name="hibernate.connection.pool_size">10</property>
<property name="show_sql">true</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.current_session_context_class">thread</property>
<property name="hbm2ddl.auto">update</property>
<mapping class="lk.ddarz4u.sales.database.Agency"></mapping>
<mapping class="lk.ddarz4u.sales.database.Shipment"></mapping>
</session-factory>
</hibernate-configuration>
作为一个春季和冬眠的初学者,请给我一个解决这个问题的方法
package lk.ddarz4u.sales.database;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToOne;
@Entity
@Table(name = "agency")
public class Agency
{
@Id
@Column(name="agencyId")
private String agencyId;
@Column(name="agencyName")
private String agencyName;
//getter setter method
}
请对发货类也做同样的操作为什么不在发布前搜索一下呢。定义@Columnname=。。。和@OneToOne。将类定义为@Tablename=。。。。。。在hibernate.cfg中提供实体类名称。xml@Swaraj-是的,我在谷歌上搜索过,所有的解决方案都与SpringBean相关。我不知道那个豆子的概念。我想这会解决你的问题。。。。。