Hibernate 关于映射的持久类信息以及synchronized同步的请问

来源:互联网 发布:人工智能第二版答案 编辑:程序博客网 时间:2024/06/13 06:17
为了满足某些 YY的需求,在代码功能上我想知道有没有hibernate提供的方法可以通过持久类的Class对象直接或者间接的知道这个持久类映射了哪些字段,哪个是主键等信息?

synchronized同步方面,如果一个实例,想在运行时通过某个字符串或者其他参数来确定是同步还是异步,可以直接做到么? 多谢指教...

------------------------------------------------------------------------------------------------------------------
问题补充:
AngelAndAngel 写道
1,PersistentClass,java环境变量设置,ClassMetadata应该是可以得到主键,字段信息的。
2,你为什么要这样判断同步,太奇怪了,说说你具体需求。

就是有一个处理方法,或者类或者块,会有一个参数或者成员变量,根据这个变量的值来同步,仅仅同一个值的处理,它们同步...,典型的就是方法,根据参数值来确定要不要同步.比如我启动应用的时候,会初始化一些数据,多次调用同一个实例不同线程下的某个方法,该方法有一个字符串参数,其实是字符串的某映射主键id的值,举例["9536","9537","9537","9537","9536","9536","9535","9535"....],拿第一个值"9536"的调用来说,由于是多线程,如果这次调用已经结束了倒没什么,如果没有结束,那么第二次调用,参数是"9537",就应该不同步,如果第二个参数还是"9536",那就要求同步,也就是说,同一个实例多线程下的某方法要确保同一个参数值不同时有多个在处理...(如果直接加上同步,无论什么参数,那就有些地方会浪费时间白白等待了,不同参数同时运行不会有问题,同一个参数同时运行也许会有问题而已)


------解决方案--------------------------------------------------------
1,PersistentClass,ClassMetadata应该是可以得到主键,字段信息的。
2,你为什么要这样判断同步,太奇怪了,说说你具体需求。
------解决方案--------------------------------------------------------
感觉你对同步这个东西没有理解到,synchronized同步是技术上的处理,是java层次中对共有资源操作的时候的一个先后,而同步处理的结果是使数据有一致性,而你这个,oracle存储过程,我的理解是你想通过判断是否数据一致来判断是否同步,弄反了方向。
------解决方案--------------------------------------------------------
可参考:
synchronized线程同步的有关问题   http://www.myexception.cn/j2se/33000.html


相关的主题文章:
  • dwr的get请求 设置解决思路
  • hibernate怎么插入DB时间
  • DELPHI解压GZIP数据,该如何处理