【发布时间】:2015-08-19 14:04:18
【问题描述】:
我无法使用带有注释的 hibernate 和 jpa 自动生成我的外键。一切似乎都很好,条目保存在数据库中。所有日期都来自一个表单,该表单在提交时会创建一个带有 ModelAttribute 的用户对象,然后将其保存在数据库中。 这是我的豆子。还有什么要补充的吗?
@Entity
@Table(name="adress")
public class Adress implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="adress_id")
private Integer adressId;
@NotBlank(message="The city must be completed")
@Column(name="city")
@Size(min=5,max=30)
private String city;
@NotBlank(message="The street must be completed")
@Column(name="street")
@Size(min=5,max=30)
private String street;
@NotNull(message="The street number must be completed")
@NumberFormat
@Column(name="street_no")
private Integer streetNo;
@OneToOne
@JoinColumn(name="user_id")
private User user;}
还有一个:
@Entity
@Table(name="users")
public class User implements Serializable {
@Id
@Column(name="user_id")
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer userId;
@NotBlank(message="Username can't be blank")
@Size(min=5,max=30)
@Column(name="username")
private String username;
@NotBlank(message="Password field can't be blank")
@Size(min=5,max=30)
@Column(name="password")
private String password;
@NumberFormat
@NotNull(message="Age field must not be blank")
@Column(name="age")
private Integer age;
@Column(name="message")
@Size(min=0,max=100)
private String message;
@Column(name="date")
@DateTimeFormat(pattern="dd/mm/yyyy")
private Date dateCreated;
@OneToOne(mappedBy="user",cascade=CascadeType.ALL,fetch=FetchType.EAGER)
private Adress adress;
+他们的getter和setter
public void save(T entity){
sessionFactory.getCurrentSession().save(entity);
}
【问题讨论】:
-
“外键自动生成”是什么意思?你想让 Hibernate 自动为你生成表格吗?如果是,请发布您的配置。如果您认为没有保存内容,请发布您的 DAO 课程。
-
这意味着我有一个表单,可以将用户对象和用户对象中的地址保存在我的数据库的 2 个表中,但是当我尝试从数据库中加载用户之后,地址字段结果对象为空
-
你希望人们帮助保存...然而没有 dao 代码...
-
给你..我无法想象这有什么帮助
标签: java spring hibernate jpa annotations