Revision dae88538
Added by Andreas Müller almost 13 years ago
cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/taxon/TaxonDaoHibernateImpl.java | ||
---|---|---|
1915 | 1915 |
} |
1916 | 1916 |
} |
1917 | 1917 |
return 0; |
1918 |
|
|
1919 | 1918 |
} |
1920 | 1919 |
|
1921 | 1920 |
|
1922 |
public long deleteSynonymRelationships(Synonym syn) { |
|
1921 |
/* (non-Javadoc) |
|
1922 |
* @see eu.etaxonomy.cdm.persistence.dao.taxon.ITaxonDao#deleteSynonymRelationships(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon) |
|
1923 |
*/ |
|
1924 |
public long deleteSynonymRelationships(Synonym synonym, Taxon taxon) { |
|
1923 | 1925 |
|
1924 |
/* |
|
1925 |
* DELETE RT |
|
1926 |
FROM RelTaxon AS RT INNER JOIN |
|
1927 |
Taxon AS FaEuSyn ON RT.TaxonFk1 = FaEuSyn.TaxonId INNER JOIN |
|
1928 |
Taxon AS ERMSAcc ON FaEuSyn.RankFk = ERMSAcc.RankFk AND FaEuSyn.FullName = ERMSAcc.FullName AND ISNULL(FaEuSyn.TaxonStatusFk, 0) |
|
1929 |
<> ERMSAcc.TaxonStatusFk |
|
1930 |
WHERE (FaEuSyn.OriginalDB = N'FaEu') AND (ERMSAcc.OriginalDB = N'ERMS') AND (ERMSAcc.TaxonStatusFk = 1) AND (ERMSAcc.KingdomFk = 2) AND |
|
1931 |
(RT.RelTaxonQualifierFk > 100) |
|
1932 |
*/ |
|
1926 |
String hql = "delete SynonymRelationship sr where sr.relatedFrom = :syn "; |
|
1927 |
if (taxon != null){ |
|
1928 |
hql += " and sr.relatedTo = :taxon"; |
|
1929 |
} |
|
1933 | 1930 |
Session session = this.getSession(); |
1934 |
Query q = session.createQuery("delete SynonymRelationship sr where sr.relatedFrom = :syn"); |
|
1935 |
q.setParameter("syn", syn); |
|
1931 |
Query q = session.createQuery(hql); |
|
1932 |
|
|
1933 |
q.setParameter("syn", synonym); |
|
1934 |
if (taxon != null){ |
|
1935 |
q.setParameter("taxon", taxon); |
|
1936 |
} |
|
1936 | 1937 |
return q.executeUpdate(); |
1937 | 1938 |
} |
1938 | 1939 |
|
Also available in: Unified diff
update taxon service (add some synonym delete functionality - still preliminary)