Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Hibernate中从类名创建表名_Java_Hibernate_Hibernate Annotations - Fatal编程技术网

Java 在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

我有一个类,我希望它的对象能够通过Hibernate持久化,例如:

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)类名,都可以使用的答案中提供的类似内容。所以原则上我的问题是重复的。我应该删除吗?