Sometimes, I just want to answer the question "where do I use this table"?
I'd like to be able to go to the place where that table is defined and do a "show usages".
But my IDE (IntelliJ) will only find the references to the specific kind of reference I'm using, JOOQ declares these "table references" in multiple places.
That I know of, there are at least three ways table (or views, etc.) references are declared in JOOQ.
1) use the static constant in Tables class -
table = example.db.Tables.ACCOUNT
2) static constant in the concrete TableImpl subclass -
table = example.db.tables.Account
3) instantiate the concrete subclass -
When I do "find usages" in IntelliJ, it only finds references to the one specific way that my cursor happens to be on.
Does anyone know of a way where I can ask my IDE "what are all the places the account table is used in the codebase".
I'm looking for a fast / easy way here that I can do this rapidly, many times on all sorts of different objects - "grepping" or other text based scripting is really not what I want.
Failing an IDE way (which I think might not exist) - is there a JOOQ feature that can help with this?
For example, can I tell JOOQ not to generate the static constants, such that using the Account constructor is the only way to refer to the table?
It would be less convenient - but that's fine, being able to easily know all places in the code that refer to a table would be worth that price to me.
Failing existince of a JOOQ feature to help with this, it wouldn't be too hard for me to remove the features during the code generation stage - but would that even do the job though? Are the above three "reference types" the only code-based ways to refer to DB objects, or other there other ways I don't know about yet?
----
Yes, I understand this won't help me with views/functions, etc. that are textually defined to use tables etc.
I'm aware I could put in place some kind of static analysis to enforce usage of a single type of table reference. But I'm asking if I can use JOOQ to eliminate the possibility of using different types.
I am using JOOQ 3.9.3 and Postgres.
My config settings are:
relations("true")
records("true")
fluentSetters("true")
deprecated("false")
pojos("false")
immutablePojos("false")
pojosEqualsAndHashCode("true")