English 中文(简体)
Using annotations to implement a static join in hibernate
原标题:

I m relatively new to hibernate and was wondering if someone could help me out. While I have no issues implementing a normal join on multiple columns in hibernate using the

@JoinColumns
tag, I m stumped when trying to implement the following query in annotations:
SELECT A.* FROM TABLEA A
LEFT OUTER JOIN TABLEB B
ON A.UID = B.ID
AND B.NAME =  JAY 

As you can see the join is also based on a value ( JAY ) which is not a column. I don t know how to proceed with such a mapping in annotations.

Can someone help?

Thanks, Jay

最佳回答

It s unclear from your question whether you re trying to map this as HQL query or an association.

I m assuming you re talking about a query and that association between TABLEA and TABLEB is already mapped via A.UID and B.ID columns. In that case you can write your query using with keyword:

select a.*
  from TableA a
  left join a.tableB b
  with b.name =  JAY 

If that s not what you re looking for, please clarify your question.

问题回答

you don t need to specify b.name as a join condition. instead just specify it as part of the where clause.

SELECT A.* 
FROM TABLEA A 
LEFT OUTER 
JOIN TABLEB B ON A.UID = B.ID 
WHERE B.NAME is null or B.NAME =  JAY 




相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签