Java 在Hibernate中从类名创建表名
我有一个类,我希望它的对象能够通过Hibernate持久化,例如:Java 在Hibernate中从类名创建表名,java,hibernate,hibernate-annotations,Java,Hibernate,Hibernate Annotations,我有一个类,我希望它的对象能够通过Hibernate持久化,例如: package my.package @Entity @Table(name="hibernatedclass") public class HibernatedClass { @Id @GeneratedValue(strategy= GenerationType.AUTO) private Long id; @Column(name="firstname") private Str
package my.package
@Entity
@Table(name="hibernatedclass")
public class HibernatedClass {
@Id
@GeneratedValue(strategy= GenerationType.AUTO)
private Long id;
@Column(name="firstname")
private String firstname;
[....]
}
如图所示,我为存储my.package.HibernatedClass
对象的表指定的名称为HibernatedClass
我要寻找的答案是:如何使命名自动化?
类似于这个伪代码的东西
@Table(name=class.getCanonicalName())
默认情况下,如果未指定
name
属性,它将使用当前类的简单类名作为表名。那么为什么不简单地声明@Table
?默认情况下,即使未声明@Table
,也将使用当前类的简单类名。“你们看到的是不同的行为吗?”克里兹很抱歉,你们两个当然都是对的。我已经测试了所描述的行为,它实际上默认为该值。任何我想要的东西都在那里。对命名的任何改进,即包括前缀或规范(withpackage)类名,都可以使用的答案中提供的类似内容。所以原则上我的问题是重复的。我应该删除吗?