gpt4 book ai didi

Hibernate:基于表名的列名?

转载 作者:行者123 更新时间:2023-12-01 06:40:35 24 4
gpt4 key购买 nike

在我的公司,我们对表列有以下命名约定:

表:TCARS栏目:TCARS_ID, TCARS_BRAND_ID, TCARS_MODEL_ID ... 等等。

我目前有这个实体类:

@Table(name="TCARS")
public class CarEntity {
@Column(name="TCARS_ID")
private int id;

@Column(name="TCARS_BRAND_ID")
private int brandId;

// etc
}

我想这样写我的类(class):
@Table(name="TCARS")
public class CarEntity {
@Column(name="ID")
private int id;

@Column(name="BRAND_ID")
private int brandId;

// etc
}

...并使用 hibernate NamingStrategy根据表名完成列名。我遇到的问题是,在 NamingStrategy 界面上,我在配置列名时无法访问表名,因此我无法在列名前加上表名。

有什么解决办法吗?

提前致谢。

最佳答案

NHibernate 在配置类上有一个 BeforeBind 事件,也许 Hibernate 也是如此。

// pseudocode
Hibernate.Cfg.Configuration config;

config.BeforeBindMapping + eventhandler
{
HbmClass c = RootClasses[0];

foreach(IColumnsMapping hascolumns in c.Items.OfType<IColumnsMapping>())
{
hascolumns.Columns[0].Text = c.Table.Name + hascolumns.Columns[0].Text;
}
};

关于Hibernate:基于表名的列名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10877626/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com