我正在使用Hibernate,但遇到这样的问题,我无法理解正在分析的代码中的这一行:
@JoinFormula( "REGEXP_REPLACE(phoneNumber, '\\+(\\d+)-.*', '\\1')::int" )
我使用的来源是:https://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/Hibernate_User_Guide.html#embeddables
我不知道国家/地区ID和phoneNumber之间的依赖关系在哪里。 问候
答案 0 :(得分:2)
在阅读该片段后,您会发现
country
实体中的User
关联由国家/地区映射phoneNumber
属性提供的标识符。
和
因此,
@JoinFormula
批注用于定义自定义联接 亲子关联之间的关联。
基本上,JOIN
和User
之间的Country
由该计算值得出。
例如,带有数字的User
+40-123-4567
与JOIN
的{{1}}的ID为
Country
因为40
函数可以从数字中推断出REGEXP_REPLACE
。
40
是类型转换。