小编man*_*ada的帖子

如何在Hibernate HQL中使用Oracle的regexp_like?

我正在使用oracle 10ghibernate 3.3.2.我之前在sql中使用过正则表达式,现在我第一次在HQL中使用它.

Query query = getSession().createQuery("From Company company 
where company.id!=:companyId and 
regexp_like(upper(rtrim(ltrim(company.num))), '^0*514619915$' )");
Run Code Online (Sandbox Code Playgroud)

这是我的hql,当我运行它没有regex_like函数时,它按预期运行.但我无法用regex_like表达式执行它.

它说..

嵌套异常是org.hibernate.hql.ast.QuerySyntaxException:意外的AST节点:(靠近第1行,第66列......

请帮助,我如何regex_like在hibernate本机查询中使用?或其他一些替代方法.

java sql oracle hibernate hql

9
推荐指数
1
解决办法
1万
查看次数

如果列名不同,则一对多hibernate连接

我有三张桌子,结构如下 -

合同 - > contract_id(主要),customer_company_id,Vendor_company_id

公司 - > Company_id(主要),creation_date,created_by

Company_Timeline - > Timeline_id(Primary),Company_id,Company_name.

并为这些表提供以下类 -

Contract.java

@Table(name = "CONTRACT")
@Entity
@SequenceGenerator(name = "ContractSeq", sequenceName = "SEQCONTRACT", allocationSize = 1)
public class Contract implements Serializable {

    private static final long serialVersionUID = 1L;

    /*
     * General Tab
     */
    @Id
    @Column(name = "CONTRACT_ID")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "ContractSeq")
    private Integer id;

    /*
     * Customer Company Info
     */

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "CUSTOMER_COMPANY_ID", nullable = true ,insertable = false,updatable = …
Run Code Online (Sandbox Code Playgroud)

java annotations hibernate hibernate-mapping

6
推荐指数
1
解决办法
4万
查看次数

如何在sql中转义"'"

嗨,我在数据库中搜索名称组合.我正在通过如下组合

"firstName='" + firstName + "'", "middleName='" + middleName + "'", "lastName='" + lastName + "'"
Run Code Online (Sandbox Code Playgroud)

这很好用.但问题出现在名称中有一些"'",我该如何纠正它?例如:Johns'或Jerry's等导致异常

java sql hibernate

3
推荐指数
1
解决办法
5880
查看次数

如何使用触发器刷新物化视图?

create or replace TRIGGER REFRESH_REST_VIEW
 AFTER
  INSERT OR UPDATE
 ON tbl_contract
BEGIN
    execute DBMS_MVIEW.REFRESH('REST_VIEW');
END REFRESH_REST_VIEW;
commit;
Run Code Online (Sandbox Code Playgroud)

这是我用来刷新Materialized View的sql触发器.但它说......

Warning: execution completed with warning
TRIGGER REFRESH_REST_VIEW Compiled.
Run Code Online (Sandbox Code Playgroud)

PS:当表的数据(由Materialized View使用)进行任何DML操作时,将执行触发器.

我已经google了足够多,很多帖子说这是可能的,但我没有得到如何做到这一点.我尝试使用常规触发器语法,但它不起作用.

更新:

现在我尝试与过程和触发器相同..

create or replace
PROCEDURE Rfresh_mate_views AS
  BEGIN
   DBMS_MVIEW.REFRESH('REST_VIEW');
  END Rfresh_mate_views;


create or replace trigger refresh_company_mview
after insert or update ON BCD.BCD_COMPANY
begin
RFRESH_MATE_VIEWS(); 
end refresh_company_mview;
Run Code Online (Sandbox Code Playgroud)

所有都已成功编译,但在表中更新时它说:

ORA-04092: cannot COMMIT in a trigger
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2449
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2429
ORA-06512: at "BCD.RFRESH_MATE_VIEWS", line 3
ORA-06512: …
Run Code Online (Sandbox Code Playgroud)

sql oracle triggers materialized-views oracle10g

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

一个JVM下有多个进程

我们可以在一个JVM中运行多个进程吗?而且每个进程都应该有自己的内存配额?

我的目标是在有新的http请求进入时启动新进程,并为进程分配一个单独的内存,以便每个用户请求都有自己的内存配额-如果一个人的内存配额已满,则不会打扰其他用户请求。

我该如何实现?

不知道这是否是假设。

java memory jvm memory-management

-1
推荐指数
1
解决办法
1715
查看次数