我有一个与表关联的Hibernate数据类;想象这样的实体 人 :
@Entity
@org.hibernate.annotations.Proxy(lazy=false)
@Table(name="Person", schema="MySchema")
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
public class ProfileData implements Serializable {
private static final long serialVersionUID = -844564646821609090L;
public PersonData() {
}
@Column(name="idPerson", nullable=false, unique=true)
@Id
...
我需要按此表的年份创建历史表 :Person2010,Person2011,Person2012
…是否可以不创建新的数据对象?也许是通过参数…?我不知道。
实体类相同,只是更改了表名和构造函数。
另一个体系结构,更复杂但更优雅:
是的 ,您可以使用 NamingStrategies 更改表名称:
public class MyNamingStrategy extends DefaultNamingStrategy {
...
@Override
public String tableName(String tableName) {
return tableName+yearSuffixTable;
}
...
}
而且,当您想使用_year表时,必须使用Hibernate创建一个覆盖rhe表名称的会话:
SessionFactory sessionFactory;
Configuration config = new AnnotationConfiguration()
.configure("hibernate.cfg.xml")
.setNamingStrategy( new MyNamingStrategy () );
sessionFactory = config.buildSessionFactory();
session = sessionFactory.openSession();
对于我的体系结构,我每年创建一个会话,并将其存储到应用程序映射中以在需要时进行访问。
谢谢。
问题内容: 我有一个与表关联的Hibernate数据类;想象这样的实体 人 : 我需要按此表的年份创建历史记录表 :Person2010,Person2011,Person2012 …是否可以不创建新的数据对象?也许是通过参数…?我不知道。 实体类相同,只是更改了表名和构造函数。 问题答案: 另一个体系结构,更复杂但更优雅: 是的 ,您可以使用 NamingStrategies 更改表名称: 并且
我正在使用MySQL数据库和Spring数据。每次我试图保存数据时,都会出错 编译后得到这个错误后,我发现数据库内部添加了两个新的实体:"image_path"和"upload_date"。我没有编写任何代码来做这样的事情。 我再次编译以查看image_path列是否插入了ImagePath实体应该插入的数据。 实体 胸腺形态 控制器 Spring数据存储库 SQl数据库 为什么会在数据库中自动创
我有一个关于Spring注释的问题。在我的(学习)项目中,我定义了两个类,另一个类有两个属性,每种类型一个。为了生成一个错误,我在XML中定义了两个相同类类型的beans,并且在setter方法中使用了@Autowired注释。大概是这样的: 在主类中,我获取此 Bean 的应用程序上下文的实例,并打印覆盖 toString 方法的属性的内容,这是一个简单的测试。我已经读到Spring自动连线注释
问题内容: 我如何做到这一点: 问题答案: 请改用方括号表示法。 或者,在现代JavaScript中:
问题内容: 我正在尝试执行这样的mysql查询 它显示这样的错误 我该如何实现? 问题答案: 在查询中动态表名的使用最好与 Prepared Staments一起使用 ,在mysql中也可以使用串联功能 您也可以针对删除查询执行此操作
问题内容: 大家好,我有一个要使用的可怕数据库,而linqtosql是我从中检索数据的选项。任何试图通过基于用户选择抛出不同的表名来重用函数的人,据我所知,没有办法修改DataContext查询中的TEntity或。 这是我当前的代码。 我想用Enumerable记录填充ViewData。 问题答案: 您可以在DataContext实例上调用ExecuteQuery方法。您将要调用采用Type实例