If you want to avoid making a db select for each argument than you might add each argument to a HashMap during parsing. Calculate the hash from your two fields and look in the HashMap if the entry exists.
Code:
Map allArguments = new HashMap();
while (new entry in my xml){
Argument argument = createFromXML();
long hash = calculateHash(argument);
if (map.get(hash)== null){
session.save(arguement);
map.put(hash, argument);
}
You can keep your id in this case but must make sure that your calculateHash method does only take the two fields into account.
I would appreciate, if you help, when this helps.
Regards Sebastian