更改枚举的默认hibernate映射策略(change default hibernate mapping strategy for enums)
使用Hibernate时,枚举的dafault映射策略是ORDINAL。 因为我认为STRING策略更加健壮,所以我想更改默认的映射策略以支持它。
目前我必须在任何枚举上使用以下内容:
@Enumerated(EnumType.STRING) @Column(nullable=false) private MyEnum myEnum;
有没有办法告诉hibernate总是使用STRING策略? 我的研究没有提出一些允许改变这种行为的属性。
或者它是不可能的,因为JPA指定ORDINAL为默认值,我们应该明确注释它以保持O / R-Mapper中性?
When using Hibernate, the dafault mapping strategy for enums is ORDINAL. Because I think the STRING strategy is more robust, I want to change the default mapping strategy to favor that.
Currently I have to use the following on any enum:
@Enumerated(EnumType.STRING) @Column(nullable=false) private MyEnum myEnum;
Is there a way to tell hibernate to always use the STRING strategy? My research did not come up with some property that allows to change this behaviour.
Or is it impossible because JPA specifies ORDINAL as default and we should explicitly annotate it to stay O/R-Mapper neutral?
原文:https://stackoverflow.com/questions/4735054
最满意答案
如果您打算使用集成安全性,则需要将模拟置于:
<identity impersonate="true" />
否则,在连接字符串中添加用户名和密码:
Data Source=myServerAddress;Initial Catalog=myDataBase;User ID=xxx;Password=yyy;
匿名登录的批评者声称他们可以降低整体的Internet和网络安全性,因为安全的身份验证过程不是匿名登录过程的一部分。 此外,匿名登录期间不存在特定于用户的预设,批评者警告此类登录可能不像用户所希望的那样匿名,因为可以显示服务器和IP地址。
If you intend to use integrated security you need to turn impersonation on:
<identity impersonate="true" />
Otherwise add username and password to the connection string:
Data Source=myServerAddress;Initial Catalog=myDataBase;User ID=xxx;Password=yyy;
Critics of anonymous login claim that they can reduce overall Internet and network security because a secure authentication process is not part of the anonymous login process. In addition, user-specific pre-establishments are absent during anonymous logins, leaving critics warning that such logins might not be as anonymous as users would like because servers and IP addresses can be revealed.
相关问答
更多-
用户'NT AUTHORITY \ NETWORK SERVICE'登录失败(Login failed for user 'NT AUTHORITY\NETWORK SERVICE')[2022-03-28]
您收到的错误消息告诉您应用程序无法连接到sqlexpress db,而不是sql server。 我将在sql server中更改数据库的名称,然后相应地更新连接字符串并再次尝试。 您的错误消息指出以下内容: Cannot open database "Phaeton.mdf" requested by the login. The login failed. 它看起来你仍然试图连接到基于文件的数据库,名称“Phaeton.mdf”与你的新的SQL数据库名称“辉腾”不匹配。 希望这可以帮助。 The er ... -
如果您的问题是链接的服务器,您需要看几件事情。 首先,您的用户需要启用授权,如果唯一的事情发生了变化,那么他们可能会这样做。 否则,您可以取消选中“帐户敏感且无法委派”复选框是AD中的用户属性。 其次,您的服务帐户必须被信任授权。 由于您重新更改您的服务帐户,我怀疑这是罪魁祸首。 ( http://technet.microsoft.com/en-us/library/cc739474(v=ws.10).aspx ) 您提到您可能有一些SPN问题,因此请确保为两个端点设置SPN,否则您将无法在AD中看到委派 ...
-
如果您打算使用集成安全性,则需要开启模拟功能:
否则,将用户名和密码添加到连接字符串中 : Data Source=myServerAddress;Initial Catalog=myDataBase;User ID=xxx;Password=yyy; If you intend to use integrated security you need to turn impersonation on: 如果您打算使用集成安全性,则需要将模拟置于:否则,在连接字符串中添加用户名和密码: Data Source=myServerAddress;Initial Catalog=myDataBase;User ID=xxx;Password=yyy; 参考: 匿名登录的批评者声称他们可以降低整体的Internet和网络安全性,因为安全的身份验证过程不是匿名登录过程的一部分。 此外,匿名登录期间不存在特定于用户的预设,批评者警告此类登录可能不像用 ... 最后简单修复 - 只需删除User Instance=True; 来自查询字符串。 Simple fix in the end - just remove User Instance=True; from the query strings.尝试了一下后,我找到了一个技巧。 恢复必须发生的机器我作为用户添加了“NT AUTHORITY \ ANONYMOUS LOGON”。 如何添加: 使用SSMS连接到数据库实例 - >展开安全性 - >展开登录 - >右键单击登录 - >创建新登录 After trying a bit I found a trick. The machine where restore have to happen I added "NT AUTHORITY\ANONYMOUS LOGON" as a user. How ...经典的ASP页面正在模拟NT AUTHORITY \ ANONYMOUS LOGON(Classic ASP page is impersonating NT AUTHORITY\ANONYMOUS LOGON)[2022-02-02]
匿名用户身份是重中之重。 所以你必须做出正确的。 在这种情况下,应用程序池具有我希望应用程序使用的身份,但此应用程序实际上并未使用它。 在用于IIS7的IIS管理器中,左键单击树中的应用程序,然后单击中间窗格底部的“功能视图”选项卡。 在“IIS”下(我已经在该窗格中的“Group by:”下拉菜单中选择“Area”),找到“Authentication”(或“Authentic ...”,如果listview没有焦点)。 双击它。 应该启用“匿名身份验证”(它是)。 右键单击“匿名身份验证”并从上下文菜单 ...此消息表示它确实与服务器联系,但无法打开连接字符串中指定的数据库(在异常消息中指定)。 需要检查的事项: 数据库存在于SQL服务器上并且它处于联机状态。 该用户有权访问指定的数据库。 登录的默认数据库是正确的,并且用户有权访问它。 连接字符串未被更改。 It turns out that one of our tables was getting too large and not flushed often enough. That the wright to database method was ti ...我通过这种方式验证此错误: 在第一个开放的Data Source 然后Edit连接字符串 然后我use specific windows ....因为我想连接到另一台服务器以访问我的SSAS 。 I Fix this error with verify this way : At First open Data Source Then Edit connection string And then I use specific windows .... because I Want connect to a ...ASP.NET用户模拟(ASP.NET User Impersonation)[2023-05-27]
您正在做/被要求做的事情通常是不受欢迎的。 在连接字符串中设置Integrated Security=True ,SID /用户访问连接由应用程序池定义。 这允许SQL连接池非常有效地工作。 当您尝试使用带有传递身份验证或模拟的集成安全性访问SQL Server时,您基本上会丢失连接池中的所有值(因为现在每个连接都必须使用用户凭据创建,并且不能跨请求共享)。 通常,当我遇到这种情况时,我创建一个用户,授予db访问权限并将该用户与应用程序池一起使用。 当用户在网站上进行身份验证(Windows或基本身份验证) ...相关文章
更多- Hibernate Search(基于version3.4)--第四章Mapping entities to the index structure
- elasticsearch 口水篇(6) Mapping 定义索引
- hibernate id 生成策略及主要使用方法
- 关于hibernate的saveorupdate
- 用Hibernate映射mysql问题(Timestamp)
- hibernate中多对多映射关系
- Spring 与 Hibernate-Search 整合后 保存失败
- Hibernate 注释方式示例
- Hibernate入门示例程序
- 使用Hibernate+solr取代hibernate search
最新问答
更多- 您如何使用git diff文件,并将其应用于同一存储库的副本的本地分支?(How do you take a git diff file, and apply it to a local branch that is a copy of the same repository?)
- 将长浮点值剪切为2个小数点并复制到字符数组(Cut Long Float Value to 2 decimal points and copy to Character Array)
- OctoberCMS侧边栏不呈现(OctoberCMS Sidebar not rendering)
- 页面加载后对象是否有资格进行垃圾回收?(Are objects eligible for garbage collection after the page loads?)
- codeigniter中的语言不能按预期工作(language in codeigniter doesn' t work as expected)
- 在计算机拍照在哪里进入
- 使用cin.get()从c ++中的输入流中丢弃不需要的字符(Using cin.get() to discard unwanted characters from the input stream in c++)
- No for循环将在for循环中运行。(No for loop will run inside for loop. Testing for primes)
- 单页应用程序:页面重新加载(Single Page Application: page reload)
- 在循环中选择具有相似模式的列名称(Selecting Column Name With Similar Pattern in a Loop)
- System.StackOverflow错误(System.StackOverflow error)
- KnockoutJS未在嵌套模板上应用beforeRemove和afterAdd(KnockoutJS not applying beforeRemove and afterAdd on nested templates)
- 散列包括方法和/或嵌套属性(Hash include methods and/or nested attributes)
- android - 如何避免使用Samsung RFS文件系统延迟/冻结?(android - how to avoid lag/freezes with Samsung RFS filesystem?)
- TensorFlow:基于索引列表创建新张量(TensorFlow: Create a new tensor based on list of indices)
- 企业安全培训的各项内容
- 错误:RPC失败;(error: RPC failed; curl transfer closed with outstanding read data remaining)
- C#类名中允许哪些字符?(What characters are allowed in C# class name?)
- NumPy:将int64值存储在np.array中并使用dtype float64并将其转换回整数是否安全?(NumPy: Is it safe to store an int64 value in an np.array with dtype float64 and later convert it back to integer?)
- 注销后如何隐藏导航portlet?(How to hide navigation portlet after logout?)
- 将多个行和可变行移动到列(moving multiple and variable rows to columns)
- 提交表单时忽略基础href,而不使用Javascript(ignore base href when submitting form, without using Javascript)
- 对setOnInfoWindowClickListener的意图(Intent on setOnInfoWindowClickListener)
- Angular $资源不会改变方法(Angular $resource doesn't change method)
- 在Angular 5中不是一个函数(is not a function in Angular 5)
- 如何配置Composite C1以将.m和桌面作为同一站点提供服务(How to configure Composite C1 to serve .m and desktop as the same site)
- 不适用:悬停在悬停时:在元素之前[复制](Don't apply :hover when hovering on :before element [duplicate])
- 常见的python rpc和cli接口(Common python rpc and cli interface)
- Mysql DB单个字段匹配多个其他字段(Mysql DB single field matching to multiple other fields)
- 产品页面上的Magento Up出售对齐问题(Magento Up sell alignment issue on the products page)