小编Pab*_*blo的帖子

RESTRICT_REFERENCES和触发器

我将PRAGMA RESTRICT_REFERENCES添加到包中的过程(例如,RNPS).该过程实现在表中插入一行.

该表具有before insert触发器.该触发器从包中读取变量并将其放入:new.my_column.

我可以毫无问题地编译包体,即使它实际上是从包变量中读取值.

当我执行该程序时,它实际上是有效的.但这是发展的过程,通常没有多个同时连接.我担心这可能会在生产环境中失败.

那么,我应该担心,还是这实际上有用?

示例代码:

CREATE TABLE MY_TABLE 
(
  ID VARCHAR2(20) NOT NULL 
, USER_ID VARCHAR2(50) 
, CONSTRAINT MY_TABLE_PK PRIMARY KEY 
  (
    ID 
  )
  ENABLE 
);

CREATE OR REPLACE PACKAGE PUSER IS

    PROCEDURE saveUser(
            pUserId VARCHAR2
        );
    PRAGMA RESTRICT_REFERENCES (saveUser, WNDS, RNDS, RNPS);

    FUNCTION getUser RETURN VARCHAR2;
    PRAGMA RESTRICT_REFERENCES (getUser, WNDS, RNDS, WNPS);

END PUSER;

CREATE OR REPLACE PACKAGE BODY PUSER AS

    userId VARCHAR2(50);

    PROCEDURE saveUser(
            pUserId VARCHAR2
        ) IS
    BEGIN
        userId := pUserId;
    END saveUser;

    FUNCTION …
Run Code Online (Sandbox Code Playgroud)

sql oracle plsql oracle11g

7
推荐指数
1
解决办法
272
查看次数

Native Query(JPA)未重置并返回相同的旧结果

我有一个本机SQL查询如下:

for(init i=0; i <=2 ; i++){ 
String sql = "Select * from accounts where id = ?"; 
Query query = em.createNativeQuery(sql,AccountBean.class); 
query.setParameter(1, i ); 

AccountBean accountBean = (AccountBean)query.getSingleResult(); 
} 
Run Code Online (Sandbox Code Playgroud)

对于第一个循环它工作正确,但第一个循环后的任何循环返回相同的结果到第一个,我调试它,参数更改,如果我改变它的工作正确

Query query = em.createNativeQuery(sql,AccountBean.class); 
Run Code Online (Sandbox Code Playgroud)

Query query = em.createNativeQuery(queryString); 
Run Code Online (Sandbox Code Playgroud)

关心Wish79

java hibernate jpa

5
推荐指数
1
解决办法
1924
查看次数

netbeans可以为映射自动生成正确的hashCode()和equals()方法吗?

我正在创建两个对象类的多对多映射.我需要写作hashCode()equals()方法吗?如果是这样,netbeans会自动生成代码帮助吗?

java netbeans hibernate

5
推荐指数
2
解决办法
5886
查看次数

标签 统计

hibernate ×2

java ×2

jpa ×1

netbeans ×1

oracle ×1

oracle11g ×1

plsql ×1

sql ×1